package com.ccys.db.vo.doctor.consultStage;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Author：XLY
 * @Date：2024/2/28 0028
 */
@Data
public class GetTBTCConsultingPatientVo {

    private String type;

    @JsonProperty("booking_list")
    private List<BookingVo> bookingList;

    @JsonProperty("tbtc_timeslot")
    private Integer tbtcTimeslot;

    @JsonProperty("date_list")
    private List<String> dateList;

    @Data
    public static class BookingVo{

        private String id;    //": "e2ed1a76-ec02-41f0-ac8d-53e2f97437d0",

        private String code;    //": "99145479477579",

        @JsonProperty("created_on")
        private Date createdOn;    //": "2024-02-28T16:55:35.85",

        private Integer age;    //": 10,

        private String type;    //": "Self",

        @JsonProperty("consulation_type")
        private String consulationType;    //": "Text-based Consultation",

        private String status;    //": "Consulting",

        @JsonProperty("patient_waited")
        private Integer patientWaited;    //": 39,

        private String email;    //": "",

        @JsonProperty("location_address")
        private String locationAddress;    //": "5 Changi Business Park Central 1, Singapore 486038",

        @JsonProperty("location_unit_number")
        private String locationUnitNumber;    //": "",

        @JsonProperty("location_postal_code")
        private String locationPostalCode;    //": "486038",

        @JsonProperty("location_country")
        private String locationCountry;    //": "Singapore",

        @JsonProperty("location_state")
        private String locationState;    //": "",

        @JsonProperty("is_text_based_consult")
        private boolean isTextBasedConsult;    //": "False",

        @JsonProperty("booking_status_value")
        private String bookingStatusValue;    //": "3",

        @JsonProperty("is_doctor_ready")
        private boolean isDoctorReady;    //": "True",

        @JsonProperty("is_patient_ready")
        private boolean isPatientReady;    //": "True",

        @JsonProperty("consultant_end_time")
        private Date consultantEndTime;    //": "2024-02-28T16:56:14",

        @JsonProperty("booking_time_zone")
        private String bookingTimeZone;    //": "+08:00",

        @JsonProperty("appointment_time")
        private Date appointmentTime;    //": "2024-02-28T16:55:00",

        private String ringtone;    //": "",

        @JsonProperty("elapse_time")
        private Integer elapseTime;    //": 29,

        @JsonProperty("consult_type")
        private Integer consultType;    //": 2,

        @JsonProperty("is_selected_doctor")
        private boolean isSelectedDoctor;    //": true,

        @JsonProperty("pass_consultations")
        private String passConsultations;    //": null

        private MemberVo member;
    }


    @Data
    public static class MemberVo{

        private String id;   //": "45e9fa93-7ec0-4e25-8122-dea270592a12",

        @JsonProperty("first_name")
        private String firstName;   //": "ayu-patient",

        @JsonProperty("last_name")
        private String lastName;   //": "",

        @JsonProperty("nric_fin")
        private String nricFin;   //": "214365",

        @JsonProperty("date_of_birth")
        private String dateOfBirth;   //": "6/16/1999 12:00:00 AM",

        private String email;   //": "2514712813@qq.com",

        private String gender;   //": "male",

        @JsonProperty("mem_phone")
        private String memPhone;   //": "214365",

        @JsonProperty("mem_home_address")
        private String memHomeAddress;   //": "",

        @JsonProperty("profile_photo")
        private String profilePhoto;   //": "",

        private String child;   //": null

    }
}
